Client Client Form2 Frame1 Client Info Label1 Number: LabelNumber Label2 &Name: TextName Label3 &Description: TextDescription Label4 &Balance: TextBalance Frame2 Address Info ListAddress CommandAdd CommandUpdate &Update CommandDelete &Delete CommandOK CommandCancel &Cancel Label1_Click CommandOK_Click Client CommandCancel_Click CommandAdd_ClickR Addresss MODALc Form_Click DbErrorG lStatus Form_Load nClientMode MODE_ADD LabelNumber setuprec lNextClientNbr Caption3 ProcessClient FALSE endsub AddClient MAX_ADDRESS_RECSU addressarray5 ProcessClientFields clientrecz lClientNbr1 TextName@ szNameN szDescriptionZ TextDesce TextDescriptionM dBalance TextBalance szAppName nAddresses XDbRecordAdd addressrec DbSetAddB AddToClientListBox addressarrayrec nStatus DbFlush setup XDbRecordUpdate nAddressMode nAddressReturn# RETURN_OK nAddressRecs ListAddresso szStreet| CommandUpdate_Click nIndexa ListIndex MODE_UPDATE DeleteItem nInde CommandDelete_Click ListAddress_Click ListAddress_DblClick XDbGetFirstSet XDbSetGetFirst XDbSetGetNext E_NONEXT E_NOTFOUNDJ GetAddressMembers UpdateClientx UpdateClientListBox DbSetFindFirst DbSetDelete DbRecordDelete AddAddressMembers DeleteAddressMembers MAX_ADDRESS_RECORDS Local Data Number of members in address array Array of addresses Number of addresses associated with a client recordd CommandOK_Click Check the input fields. If Ok load the client structure Add the client records Add the client record to the list box Update the client record Update the listbox CommandCancel_Click CommandAdd_Click Check the total number of address records added for this clientl Maximum # of addresses per client reached! Set the mode and load the form If user pressed OK... Transfer the global structure to the local structure Add to list box Form_Load Reset the number of addressese If add mode, set the client number Add Client Set form caption Update Client" Set the client infoi Retrieve the address member recordsr AddClient Add the client recorde client Error adding client! Add the address member records Increment the next client number in setup record setup" Error modifying setup record Flush the records to disks ProcessClientFields Check the Name field Invalid Name field Load the client record CommandUpdate_Click Get the list box index Copy the structure to the global address structure Set the address mode and load the form If user pressed OK...e Transfer the global structure to local array Replace the item in the list box CommandDelete_Click Get the list box index Query user for deletion Delete this item?" Chose yes, pack the arrayt Remove the item from the list box ListAddress_DblClick Force an Update click GetAddressMembers Retrieve the address member records Get record client address" client address" Check for errors Done, exit Error retrieving Address member! Add to address list box Increment local counter UpdateClient Update the client record client Error updating client! Delete address member recordss Add the address member records Flush the records to disk AddAddressMembers Add the address recordse Add the address record address" Error adding address!" Make the set connection" client address" Error connecting address to client!"